.\"	$OpenBSD: boot_sparc.8,v 1.14 2010/01/03 16:43:46 schwarze Exp $
.\"	$NetBSD: boot_sparc.8,v 1.4 1995/04/25 11:37:25 pk Exp $
.\"
.\" Copyright (c) 1992, 1993
.\"	The Regents of the University of California.  All rights reserved.
.\"
.\" Redistribution and use in source and binary forms, with or without
.\" modification, are permitted provided that the following conditions
.\" are met:
.\" 1. Redistributions of source code must retain the above copyright
.\"    notice, this list of conditions and the following disclaimer.
.\" 2. Redistributions in binary form must reproduce the above copyright
.\"    notice, this list of conditions and the following disclaimer in the
.\"    documentation and/or other materials provided with the distribution.
.\" 3. Neither the name of the University nor the names of its contributors
.\"    may be used to endorse or promote products derived from this software
.\"    without specific prior written permission.
.\"
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
.\"     @(#)boot_sparc.8	8.2 (Berkeley) 4/19/94
.\"
.Dd $Mdocdate: January 3 2010 $
.Dt BOOT_SPARC 8 sparc
.Os
.Sh NAME
.Nm boot_sparc
.Nd
.Tn sparc
system bootstrapping procedures
.Sh DESCRIPTION
.Ss System starts
When powered on, after a panic, or if the system is rebooted via
.Xr reboot 8
or
.Xr shutdown 8 ,
the PROM will proceed to its initialization, and will boot an operating
system if autoboot is enabled.
.Ss Boot process description
System boot blocks are installed near the start of the boot disk
using the procedure described in
.Xr installboot 8 .
The boot program attempts to load the kernel from the selected
boot device,
which must currently be an
.Dq sd ,
.Dq xd
or
.Dq xy
disk, or an
.Tn SCSI
CD-ROM
.Pq Dq cd
or tape drive
.Pq Dq st .
.Pp
The SPARC boot ROM comes in two flavours: an
.Dq old-style
ROM is used in
sun4 machines, while a
.Dq new-style
ROM can be found on sun4c and sun4m models.
The
.Dq new-style
SPARC boot ROM is a full-featured Forth system with emacs
key bindings.
It can be put in
.Dq old-style
user-interface compatibility
mode (in which case it shows a simple
.Dq \&>
prompt), but this is essentially
useless.
However, by default the ROM runs in old-mode; to enter new-mode type
.Dq n .
The ROM then shows a Forth-style
.Dq ok
prompt.
It is recommended to have the ROM always start in its native
.Dq new-style
mode.
Utter the following
incantation in new-mode to force the ROM to always start in new-mode:
.Pp
.Em \	ok
setenv
.Em sunmon-compat?\&
false
.Ss Old-style PROM operation
By default, the old ROM will poll for boot devices, unless the eeprom settings
are set to specify a particular boot device.
The
.Ox
bootloader will then look for a kernel named
.Pa bsd
by default, unless a different filename has been specified in the boot
command.
.Pp
Refer to the
.Dq "PROM User's Manual"
for more information.
.Ss OpenBoot PROM version 1 operation
Older OpenBOOT PROM, as well as hybrid (dual-mode) versions operating in
compatibility mode (with the variable
.Em version2?\&
set to false) will look for a bootloader and kernel filename as specified
by the
.Em boot-from
variable.
To change the default so that
.Ox
will be loaded, type the following:
.Pp
.Em \	ok
setenv
.Em boot-from
sd(0,0,0)bsd
.Pp
Replace
.Dq sd(0,0,0)
with the appropriate boot device if necessary.
.Pp
Autoboot is enabled by setting the
.Em auto-boot?\&
variable to
.Dq true ,
and is the factory default.
.Ss OpenBoot PROM version 2 operation
Version 2 OpenBOOT PROM will look for a bootloader on the device specified
by the
.Em boot-device
variable.
The
.Ox
bootloader will then look for a kernel named
.Pa bsd
by default, unless the
.Em boot-file
variable is set, or a different filename has been specified
in the boot command.
To reset this variable to its default, empty, value, type the following:
.Pp
.Em \	ok
set-default
.Em boot-file
.Pp
Autoboot is enabled by setting the
.Em auto-boot?\&
variable to
.Dq true ,
and is the factory default.
.Ss Boot process options
The following options are recognized:
.Pp
.Bl -tag -width "-XXX" -offset indent -compact
.It Fl a
Prompt for the root filesystem and swap devices after the devices have
been configured.
.It Fl c
Enter the
.Dq User Kernel Configuration
mode upon startup
.Pq see Xr boot_config 8 .
.It Fl d
Enter the debugger ,
.Xr ddb 4 ,
as soon as the kernel console has been initialized.
.It Fl s
Boot the system single-user.
The system will be booted multi-user unless this option is specified.
.El
.Ss Abnormal system termination
If the system crashes, it will enter the kernel debugger,
.Xr ddb 4 ,
if it is configured in the kernel.
If the crash occurred during
initialization and the debugger is not present or is exited, the
kernel will halt the system.
If the crash occurred during normal operation and the debugger
is not present or is exited, the system will attempt a dump to the
configured dump device (which will be automatically recovered with
.Xr savecore 8
during the next multi-user boot cycle), and after the dump is complete
(successful or not) the kernel will attempt a reboot.
.Ss Accessing the PROM during runtime
If the
.Xr sysctl 8
variable
.Em ddb.console
is enabled, at any time you can break back to the ROM by pressing the
.Dq L1
.Pq also known as the Dq stop key
and
.Dq a
keys at the same time (if the console is a serial port the same is
achieved by sending a
.Dq break ) ,
and entering
.Ic machine prom
at the prompt.
If you do this accidentally you can continue whatever was in progress
by typing
.Ic go
on an OpenBOOT PROM, or
.Ic c
on an old-style PROM to return to ddb,
and then
.Ic cont
to return to the system.
.Sh FILES
.Bl -tag -width /usr/mdec/bootxx -compact
.It Pa /bsd
default system kernel
.It Pa /bsd.rd
standalone installation kernel, suitable for disaster recovery
.It Pa /usr/mdec/bootxx
primary bootstrap for
.Dq ffs
file system
.It Pa /usr/mdec/boot
secondary bootstrap (usually also installed as
.Pa /boot )
.El
.Sh SEE ALSO
.Xr ddb 4 ,
.Xr boot_config 8 ,
.Xr halt 8 ,
.Xr init 8 ,
.Xr installboot 8 ,
.Xr reboot 8 ,
.Xr savecore 8 ,
.Xr shutdown 8
